home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Utilities Experience
/
The Utilities Experience - Volume 1.iso
/
software
/
demos
/
r-z
/
stormc-demo
/
stormc install-script
< prev
next >
Wrap
Text File
|
1996-01-22
|
12KB
|
407 lines
; $VER: StormC V1.0 Install Version 1.04 (15.11.95)
; Installations-Script - na, wofür wohl?
; (c) 1995/96 HAAGE & PARTNER Computer GmbH
(complete 0)
; Die Versionsnummer und das Erstellungs-Datum der hier installierten
; Versionen.
(set stcpp-version "1.02")
(set stcpp-date "(12 Jan 96)")
;====================================================================
; Initialisierungen
(set @default-dest "")
(set os-version (/ (getversion) 65536))
(set os-13 (< os-version 36))
(set os-20 (>= os-version 36))
(set os-21 (>= os-version 38))
(set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
;(set run-lha "run RAM:Lhex x -a ")
;(set run-free "run C/StormFree")
; Die Pfadnamen der einzelnen Quell-Dateien.
(set #binsource (tackon (pathonly @icon) "StormSYS")) ; Hier stehen die Ausführbaren Programme
(set #includesource (tackon (pathonly @icon) "INCLUDE")) ; Hier stehen die Includes
(set #envsource (tackon (pathonly @icon) "ENV")) ; Die Voreinstellungen
(set #libsource (tackon (pathonly @icon) "LIB")) ; Hier stehen die Bibliotheken
(set #samplesource (tackon (pathonly @icon) "Examples")) ; Hier stehen die Demo-Sourcen
(set #manualsource (tackon (pathonly @icon) "MANUAL")) ; Hier steht die Dokumentation
(set source-Liesmich (tackon (pathonly @icon) "Liesmich")) ; Die Liesmich Datei
(set source-ikon (tackon (pathonly @icon) "StormCPP.info")) ; Das Programm-Piktogramm
;(set !auswahlhilfe
; (cat "\nAuf Ihrer Festplatte befindet sich bereits eine Version "
; "der Datei die installiert werden soll. \n\n"
; "Wählen Sie \"Ja\", wenn Sie die alte Datei mit der neuen "
; "überschreiben möchten. Anderenfalls wählen Sie bitte \"Nein\"!\n"))
(set #prp-copy-samples
"Kopiere die C und C++ Beispielprogramme")
(set #hlp-copy-bin
"Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
(set #prp-copy-env
"Kopiere die StormC Default-Piktogramme")
(set #hlp-copy-env
"Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
(set #prp-copy-includes
"Kopiere die C++ Systemincludes")
(set #hlp-copy-includes
"Die Includes werden vom Compiler-Preprozessor benötigt")
(set #prp-copy-libs
"Kopiere die Linker-Bibliotheken")
(set #hlp-copy-libs
"Die Bibliotheken werden vom Linker benötigt")
(set #prp-copy-manual
"Kopiere die Dokumentation")
(set #hlp-copy-manual
"Eine Amiga-Guide-Datei zu StormC")
(set #prp-copy-bin
"Kopiere die Ausführbaren Dateien des Compilersystems")
(set #hlp-copy-bin
"Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
; Die Dateigrößen
(set size-stormcpp 54000)
(set size-stormc 424000)
(set size-stormed 312000)
(set size-stormshell 416000)
(set size-stormrun 381000)
(set size-stormasm 36000)
(set size-stormpics 50000)
(set size-stormlex 50000)
(set size-libs 320000)
(set size-inlcudes 950000)
(set size-demos 200000)
(set size-komplett ( + size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
; ----------------------------- Prozeduren ------------------------------
(Procedure Make_Folder
(
(set folder (tackon folder "StormC"))
(if (= (exists folder) 0)
(
(makedir folder (infos))
)
))
)
;=====================================================================================
; Beginn der Installation
;=====================================================================================
; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
(set act-user-level @user-level)
(user 1)
(message (cat "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
stcpp-version " vom "stcpp-date "\"!\n\n"
"Dieses Skript kopiert die verschiedenen Dateien, "
"aus denen sich das Compilersystem zusammensetzt, "
"auf Ihre Festplatte.\n"))
(user act-user-level)
(welcome)
(complete 5)
(set act-user-level @user-level)
(user 1)
; Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
(set folder "WORK:StormC")
(if (exists "StormC:" (noreq))
(
(message (cat "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
"Installation von StormC! Wählen Sie bitte die über-\n"
"geordnete Schublade oder das jeweilige Laufwerk an,\n"
"wenn Sie ihr altes System aktualisieren möchten!"))
(set folder (getassign "STORMC"))
)
)
(set cmpstr (getassign "STORMC"))
(user act-user-level)
(if (= @user-level 0)
(
(user 1)
(message (cat "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
"einer Festplatte installiert wird, auf der noch mindestens "
"ca. 5 MByte freier Speicherplatz verfügbar sind. Sie werden "
"dazu im nächsten Fenster nach dem Namen der gewünschten "
"Schublade gefragt.\n\n"
"Alle weiteren Angaben werden dann vom Installations-Skript "
"möglichst genau an Ihr System angepaßt."))))
(set ok 0)
(while (not ok)
(set folder
(askdir
(prompt (cat "\n"
"Auswahl des Pfades für die Compiler-Installation.\n"
"Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
(help (cat " Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
"eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
"dieser Übersicht sollten Sie nur die oberen, nicht farblich "
"gekennzeichneten Einträge auswählen.\n"
" Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
"nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
"\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
"\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
"\n\n"
"Storm C kann nur in eine Schublade nicht aber auf eine "
"Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
"für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
@askdir-help))
(default folder)
(disk)
)
)
(Make_Folder) ; // Automatisch neues Verzeichnis anlegen!
; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
; kann die Auswahl-Schleife beendet werden.
(if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
(message (cat "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
"eine gültige Schublade!\n\n"
"Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
"eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
"dieser Übersicht sollten Sie nur die oberen, nicht farblich "
"gekennzeichneten Einträge auswählen.\n"
"Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
"Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
"angelegt, die Sie soeben betrachten."))
;else
(
(set freediskspace (getdiskspace folder)) ; Der freie Speicher auf diesem Medium
(if (< freediskspace size-komplett)
(
(user 1)
(message (cat "\nAuf der ausgewählten Festplattenpartition "
"steht nicht genügend freier Speicher für die "
"komplette Installation des Compilersystems zur Verfügung.\n\n"
"Freier Speicher " freediskspace "!\n"
"Benötigter Speicher " size-komplett "!\n\n"
"Bitte wählen Sie eine andere Partition, auf "
"der entsprechende Kapazitäten vorhanden sind!"))
)
;else
(set ok 1)
)
)
)
)
(makeassign "STORMC")
(user act-user-level)
(set @default-dest folder) ; Die Zuweisung ist sehr wichtig!
(set destbin (tackon folder "StormSYS"))
(if ; Compiler-Verzeichnis erzeugen
(= (exists destbin) 0)
(makedir destbin (infos))
)
(set destdemo (tackon folder "Examples"))
(if ; Demo-Verzeichnis erzeugen
(= (exists destdemo) 0)
(makedir destdemo (infos))
)
(set destinclude (tackon folder "Include"))
(if ; Includes-Verzeichnis erzeugen
(= (exists destinclude) 0)
(makedir destinclude)
)
(set destlib (tackon folder "Lib"))
(if ; Libraries-Verzeichnis erzeugen
(= (exists destlib) 0)
(makedir destlib)
)
(set destmanual (tackon folder "Manual"))
(if ; Dokumentations-Verzeichnis erzeugen
(= (exists destmanual) 0)
(makedir destmanual (infos))
)
(complete 5)
; Liesmich Datei auf Festplatte kopieren!
(copyfiles
(source source-Liesmich)
(dest folder)
(infos)
)
(complete 8)
(set morerunpath "run C/More Liesmich")
(run morerunpath) ; Liesmich laden
(complete 10)
(set destinfo (tackon folder "StormCPP.info"))
(if ; Projekt-Ikon erzeugen
(= (exists destinfo) 0)
(copyfiles
(source source-ikon)
(dest folder)
)
)
(complete 15)
(copyfiles ; Beispiele kopieren
(prompt #prp-copy-samples)
(help #hlp-copy-samples)
(source #samplesource)
(dest destdemo)
(all)
(confirm)
)
(complete 20)
(copyfiles ; Settings kopieren
(prompt #prp-copy-env)
(help #hlp-copy-env)
(source #envsource)
(dest "ENVARC:")
(all)
(confirm)
)
(complete 22)
(copyfiles ; Settings kopieren
(prompt #prp-copy-env)
(help #hlp-copy-env)
(source #envsource)
(dest "ENV:")
(all)
(confirm)
)
(complete 25)
(copyfiles ; Compiler kopieren
(prompt #prp-copy-bin)
(help #hlp-copy-bin)
(source #binsource)
(dest destbin)
(all)
(confirm)
)
(complete 40)
(copyfiles ; Includes kopieren
(prompt #prp-copy-includes)
(help #hlp-copy-includes)
(source #includesource)
(dest destinclude)
(all)
(confirm)
)
(complete 60)
(copyfiles ; Libs kopieren
(prompt #prp-copy-libs)
(help #hlp-copy-libs)
(source #libsource)
(dest destlib)
(all)
(confirm)
)
(complete 80)
(copyfiles ; Manual kopieren
(prompt #prp-copy-manual)
(help #hlp-copy-manual)
(source #manualsource)
(dest destmanual)
(all)
(confirm)
)
(complete 95)
; ------- STARTUP ÄNDERN
(set command1 (cat "ASSIGN STORMC: " folder ""))
(set command1.txt
(cat
"\n\n\nUm mit StromC richtig arbeiten zu "
"können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
command1
)
)
(startup "StormC"
(prompt command1.txt)
(help #help-startup)
(command command1)
)
(makeassign "STORMC")
(makeassign "STORMC" folder)
;(set FREERROR (run "C/StormFree"))
;(if ( <> FREERROR 0)
; (
; (delete "STORMC:BIN/StormCPP")
; (delete "STORMC:BIN/StormCPP.info")
; (delete "STORMC:StormCPP.info")
; (message
; "\n\n\n\n"
; "Fehler bei der Installation.\n"
; "Die Installation war fehlerhaft!\n\n"
; "Stellen Sie bitte sicher, daß Ihre Festplatte ausreichend Speicherkapazität hat, "
; " und, falls die Dateien bereits vorhanden sind diese nicht "
; " Lösch- oder Schreibgeschützt sind.")
; )
;)
(complete 100)
; ------- FERTIG
(message (cat
"\nInstallation des StormC Compilers beendet.\n"
"Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
"User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
"\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
)